home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 1 / LSD Compendium Deluxe 1.iso / a / programming / assembly / b-block1.lha / Trackloader1.s < prev    next >
Encoding:
Text File  |  1980-01-01  |  2.3 KB  |  142 lines

  1. DECODEBUFFER=    $70000
  2. SYNC1=        $4489
  3. SYNC2=        $4489
  4. J:    MOVEM.L    D0-A6,-(A7)
  5.     LEA    picture,A0
  6.     MOVE.W    #$4000,$DFF09A
  7.     MOVE.l    #147,D0    ; HUSK AT DETTE ER * 2
  8.     MOVEQ    #3,D1    ; HUSK AT DETTE ER * 2
  9.     BSR.S    READTRACKS
  10.     MOVE.W    #$E02C,$DFF09A
  11.     MOVEM.L    (A7)+,D0-A6
  12.     RTS
  13. READTRACKS:
  14.     MOVEM.L    A0-A6/D0-D7,-(A7)
  15.     BSR.L    DRIVE0
  16.     BSR.S    READIT
  17.     MOVEM.L (A7)+,A0-A6/D0-D7
  18.     RTS
  19. READIT:    LEA    $DFF000,A5
  20.     SUBQ.W    #1,D1            ;FOR DBF
  21. MOVEHEAD:
  22.     ST    $BFD100
  23.     BSR.L    SHORTWAIT
  24.     BCLR    #7,$BFD100
  25.     BSR.L    SHORTWAIT
  26.     BCLR    #3,$BFD100
  27.     BSR.L    SHORTWAIT
  28.     BSR.L    READYWAIT
  29.     BSET    #1,$BFD100
  30. LC0D586:BTST    #4,$BFE001
  31.     BEQ.S    RIGHTPOS
  32.     BCLR    #0,$BFD100
  33.     BSR.L    SHORTWAIT
  34.     BSET    #0,$BFD100
  35.     BSR.L    LONGWAIT
  36.     BRA.S    LC0D586
  37. RIGHTPOS:
  38.     BSET    #2,$BFD100
  39.     MOVEQ    #0,D2
  40.     MOVE.B    D0,D2
  41.     LSR.W    #1,D2
  42.     BCC.S    SIDE0
  43.     BCLR    #2,$BFD100
  44. SIDE0:    SUBQ.W    #1,D2
  45.     BMI.S    HEADREADY
  46.     BCLR    #1,$BFD100
  47. LC0D5D6:BCLR    #0,$BFD100
  48.     BSR.L    SHORTWAIT
  49.     BSET    #0,$BFD100
  50.     BSR.L    LONGWAIT
  51.     DBRA    D2,LC0D5D6
  52. HEADREADY:
  53. READNEXTTRACK:
  54.     BSR.L    SHORTWAIT
  55. DMAINIT:MOVE.W    #$8500,$9E(A5)
  56.     MOVE.W    #SYNC1,$7E(A5)
  57.     BSR.L    READYWAIT
  58.     MOVE.W    #$4000,$24(A5)
  59.     MOVE.L    #DECODEBUFFER,$20(A5)
  60.     MOVE.W    #$9F40,$24(A5)
  61.     MOVE.W    #$9F40,$24(A5)
  62.     MOVE.W    #2,$9C(A5)
  63.     BSR.L    SHORTWAIT
  64. DMAWAIT2:BTST    #1,$1F(A5)
  65.     BEQ.S    DMAWAIT2
  66.     BSR.L    SHORTWAIT
  67. LC0D670:MOVE.W    #$4000,$24(A5)
  68.     MOVE.W    #$400,$9E(A5)
  69.     LEA    DECODEBUFFER,A2
  70.     MOVEQ    #$A,D5
  71. MAINLOOP:
  72.     MOVE.L    #$55555555,D7
  73. SEEKSYNC:
  74.     CMPI.W    #SYNC1,(A2)+
  75.     BNE.S    SEEKSYNC
  76.     CMPI.W    #SYNC1,(A2)
  77.     BNE.S    DONOT_ADD
  78.     ADDQ.L    #2,A2
  79. DONOT_ADD:
  80.     MOVE.L    (A2),D3
  81.     MOVE.W    6(A2),D4
  82.     ANDI.W    D7,D3
  83.     ANDI.W    D7,D4
  84.     ADD.W    D3,D3
  85.     OR.W    D4,D3
  86.     ADD.W    D3,D3
  87.     MOVE.L    A0,A3
  88.     ANDI.W    #$FF00,D3    
  89.     ADDA.W    D3,A3
  90.     LEA    $38(A2),A2
  91.     MOVEQ    #$7F,D6
  92. KILLCLOCKLOOP:
  93.     MOVE.L    $200(A2),D3
  94.     MOVE.L    (A2)+,D4
  95.     ANDI.L    D7,D4
  96.     ANDI.L    D7,D3
  97.     ADD.L    D4,D4
  98.     OR.L    D3,D4
  99.     MOVE.L    D4,(A3)+
  100.     DBRA    D6,KILLCLOCKLOOP
  101.     DBRA    D5,MAINLOOP
  102.     LEA    $1600(A0),A0
  103.     NOP
  104.     NOP
  105.     NOP
  106.     NOP
  107. CHANGESIDE:
  108.     BCHG    #2,$BFD100
  109.     BNE.S    SKIP
  110.     AND.B    #$FC,$BFD100
  111.     BSR.S    SHORTWAIT
  112.     BSET    #0,$BFD100
  113.     BSR.S    LONGWAIT
  114. SKIP:    DBRA    D1,READNEXTTRACK
  115. MOTOROFF:
  116.     BSET    #3,$BFD100
  117.     BSR.S    SHORTWAIT
  118.     BSET    #7,$BFD100
  119.     BSR.S    SHORTWAIT
  120.     BCLR    #3,$BFD100
  121.     BSR.S    SHORTWAIT
  122.     BSET    #3,$BFD100
  123.     BCLR    #1,$BFE001
  124. FINNISH:RTS
  125. DRIVE0:    MOVE.B  #$7D,$BFD100
  126.     MOVE.B  #$77,$BFD100
  127.     RTS
  128. READYWAIT:
  129.     BTST    #5,$BFE001
  130.     BNE.S    READYWAIT
  131.     RTS
  132. SHORTWAIT:
  133.     NOP
  134.     NOP
  135.     RTS
  136. LONGWAIT:
  137.     MOVE.W    #$1600,D7
  138. LW_LOOP:DBRA    D7,LW_LOOP
  139.     RTS
  140. END:
  141. picture:blk.b    14400,0
  142.